import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    //存储全局共享的状态数据
    user: JSON.parse(sessionStorage.getItem('user')),
    token: '',
  },
  getters: {
    //用于提供方法,方便的获取state中的临时计算结果
  },
  mutations: {
    // 提供方法,修改state中的状态数据
    login(state, payload) {
      state.user = payload;
      sessionStorage.setItem('user', JSON.stringify(payload));
    },
    saveToken(state, payload) {
      state.token = payload;
      sessionStorage.setItem('token', payload);
    },
    clearAll(state) {
      state.token = '';
      state.user = '';
    },
  },
  actions: {
    // 用于执行异步任务，无法直接修改state  调用mutations中的方法
    // 调用 this.$store.dispatch('actions中的方法名','参数')
  },
  modules: {},
});
